Media services such as Internet video streaming are becoming increasingly popular. Typical Internet video streaming uses streaming protocols such as MPEG DASH or Apple® HLS that use the Hyper Text Transfer Protocol (HTTP) as the primary transport protocol. A popular way to monetize on Internet video streaming of content is by inserting content such as advertisements or other personalized content. Contrary to traditional broadcasting, advertisements can be fully personalized as contrary to TV broadcasting, each user receives data through their own Internet connection. This makes insertion of content in Internet video presentations for advertisement attractive and a large potential source of revenue.
The Internet is a global platform for delivery but sometimes media presentations need to be edited to conform to geo-local preferences such as local legislation, cultural habits, language and so on. For example, some explicit language or violent scenes may need to be removed to conform to some geo local preferences. On the other hand, short scenes that present certain information such as explicit content warnings may need be added or other supplementary information such as author credentials. These needs make Internet video streaming with edited or personalized content highly desirable as it can serve the differentiated needs.
Approaches for Internet video streaming with edited or inserted content have been developed based on manipulation of the streaming manifest. The manifest file in an Internet streaming video presentation such as the .mpd file in MPEG-DASH or the .m3u8 file in Apple® HLS include links to individually downloadable pieces of media content called segments. By pointing these URL's towards both segments of original and edited content at different locations, personalized streaming presentations with edited or inserted media can be created.
A large disadvantage of the manifest manipulation approach is that it raises vulnerability to ad blocking software that is increasingly used. Ad Blocking software such as AdBlock plus often runs on clients and contains ways to block requests to specific blacklisted hosts related to advertisements. Ad blocking software is becoming increasingly popular, and will often break approaches based on manifest manipulation. This is because the software can read into the manifest to block outgoing requests, or to block outgoing HTTP requests based on the host name and or certain key words in the URL string.
Another drawback of manifest manipulation is that many players and sources use a digital rights management solutions (DRM) that involves, at some stage, encrypting the media content in the segments using an encryption standard such as based on the Advanced Encryption Standard (AES). As different encryption schemes are often used by different contents, clients may fetch content from different sources with different encryption techniques. When different DRM solutions or encryption methods are used, many players will have a problem to decrypt and playback the edited presentation based on manifest manipulations. This is because simultaneous usage of different digital rights management solutions and different encryption techniques in a single presentation is often not supported by players used by the client.
Alternatively, presentations could be prepared at the server side for delivery as a single presentation. This would result in explosive storage needs and costs due to the fact that each of the versions for each specific configuration need to be stored separately. This makes this approach economically unattractive due to the storage costs. Instead, a method for online editing or insertion of streaming media content for adaptive bit-rate video that does not incur exploding storage costs is desirable. However this is highly challenging for modern Internet media streaming, as multiple protocols, different bit-rates and different schemes for DRM need to be supported, and synchronized playback without interruption is needed. Such a solution would require significant advances beyond the state of the art to be realized without exploding storage costs, susceptibility to ad blocking technology or other drawbacks in present day solutions.
The society of cable telecommunication engineers has defined the standard SCTE 35 that enables signaling of splice points in a compressed video stream. These splice points defined in SCTE 35 constitute markers where a splicing device can switch the content in the video stream and insert alternative content. SCTE 35 splice points can be used to insert or switch content at the right point in the video stream. SCTE 35 was designed to work with the MPEG-2 Transport stream format, but can also be signaled in the MPEG-DASH based on fragmented MPEG-4. Signaling SCTE 35 in MPEG DASH still changes the manifest file, for example signaling a DASH event in an MPEG DASH file, and possibly makes use of URL's point to different sources in this manifest. This can be picked up by ad blocking software as to hint or detect advertisement content making this approach still potentially vulnerable to ad blocking technologies. Further, while the SCTE 35 marker can indicate a time point in the stream where a switch can be made, it does not teach how video content should be inserted for online video streaming presentations that reduces storage costs.